package com.myplans.client.service;

import java.util.ArrayList;

import com.google.gwt.user.client.rpc.RemoteService;
import com.google.gwt.user.client.rpc.RemoteServiceRelativePath;
import com.myplans.shared.Plan;
import com.myplans.shared.User;

@RemoteServiceRelativePath("userService")
public interface UserService extends RemoteService {
	
	public User signInUser(String email, String password);
	
	public User signUpUser(User user);

	public User updateUser(User user);

	public ArrayList<Plan> getPlansForUser(User user);

	public User deletePlanForUser(Plan plan, User user);

	public User createPlanForUser(Plan plan, User user);

	public ArrayList<User> getSubscriptionsForUser(User user);

	public User createSubscriptionForUser(User subscription, User user);

	public User deleteSubscriptionForUser(User subscription, User user);
	
	public User getFbUser(String authToken);

	public String login(String authToken);

	public ArrayList<Plan> getRecommendedPlansForUser(User user);

}
